1. Field of the Invention
The present invention relates a method of forming an executable program by linking a plurality of object modules, and in particular to a method displaying information during linking.
2. Description of the Related Art
Linkers for producing executable programs are known. Generally speaking, a linker acts to link a number of object code modules to form a single executable program. Object code modules are usually generated from program source code modules, these modules being written in a high level language. An assembler/compiler reads each source code module and assembles and/or compiles the high level language of the source code module to produce an object code module. The assembler also generates a number of relocations that are used to combine the object code modules at link time in a linker.
The ELF (executable linking format) standard defines a convention for naming relocation sections belonging to a given section, e.g., rela.abc is relocation section of section abc. Standard relocations under the ELF format allow an offset in section data to be defined where patching is to occur and a symbol whose value is to be patched. A type field also exists which is used to describe the appropriate method of encoding the value of the symbol into the instruction or data of the section data being patched. According to the existing arrangements, the relocation type definitions are usually created on an ad hoc basis for each instruction set targeted. The 32-bit ELF standard allows only 256 distinct relocation types, so the same types are re-ascribed to different semantics for each instruction set.
One difficulty with existing linkers is that if the linker operation is not successful it is difficult to discover at what point in the linking process an error occurred, or what values particular parameters were when an error occurred.